;------------------------------------------------------------------------------
Object AmericaTankAbrams

  ; *** ART Parameters ***
  SelectPortrait         = abrams
  ButtonImage            = abrams

  UpgradeCameo1 = Upgrade_Nationalism
  UpgradeCameo2 = Upgrade_ChinaUraniumShells

  Draw = W3DTankDraw ModuleTag_69
    ExtraPublicBone = Laser
    DefaultConditionState
      Model               = AVTankM1
      Turret              = Turret01
      WeaponFireFXBone    = PRIMARY TurretMS
      WeaponRecoilBone    = PRIMARY Barrel
      WeaponMuzzleFlash   = PRIMARY TurretFX
      WeaponLaunchBone    = PRIMARY TurretMS
      WeaponFireFXBone    = SECONDARY MuzzleFX01
      WeaponMuzzleFlash   = SECONDARY MuzzleFX01
      WeaponLaunchBone    = SECONDARY MUZZLE01
    End
    ConditionState       = REALLYDAMAGED
      Model              = AVTankM1_d
    End
    ConditionState       = RUBBLE
      Model              = AVTankM1_d
    End

    TrackMarks           = EXTnkTrack.tga
    TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
    TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
    TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
    OkToChangeModelColor = Yes
  End

  ; ***DESIGN parameters ***
  DisplayName            = OBJECT:Abrams
  Side                   = ChinaTankGeneral
  EditorSorting          = VEHICLE
  TransportSlotCount     = 5
  WeaponSet
    Conditions           = None
    Weapon               = PRIMARY AbramsTankGun
    Weapon               = SECONDARY M1AbramsTankMachineGun
    PreferredAgainst     = SECONDARY INFANTRY
  End
  ArmorSet
    Conditions           = None
    Armor                = TankArmor
    DamageFX             = TankDamageFX
  End
  BuildCost              = 1400
  BuildTime              = 25.0          ;in seconds
  VisionRange            = 150
  ShroudClearingRange = 300

  ExperienceValue        = 100 100 200 400 ;Experience point value at each level
  ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level
  IsTrainable            = Yes  ;Can gain experience
  CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
  CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  CommandSet             = GenericCommandSet

  ; *** AUDIO Parameters ***
  VoiceSelect = BattleMasterTankVoiceSelect
  VoiceMove = BattleMasterTankVoiceMove
  VoiceGuard = BattleMasterTankVoiceMove
  VoiceAttack = BattleMasterTankVoiceAttack
  SoundMoveStart = BattleMasterTankMoveStart
  SoundMoveStartDamaged = BattleMasterTankMoveStart
  UnitSpecificSounds
    VoiceCreate     = BattleMasterTankVoiceCreate
    TurretMoveStart = NoSound
    TurretMoveLoop = TurretMoveLoop
    VoiceEnter     = BattleMasterTankVoiceMove
    SoundEject          = PilotSoundEject
    VoiceEject          = PilotVoiceEject
    VoiceCrush          = CrusaderTankVoiceCrush
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority          = UNIT
  KindOf                 = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE

  Body                   = ActiveBody ModuleTag_26
    MaxHealth       = 600
    InitialHealth   = 600
    SubdualDamageCap = 900
    SubdualDamageHealRate = 500
    SubdualDamageHealAmount = 50
  End

  Behavior = AIUpdateInterface ModuleTag_36
    Turret
      TurretTurnRate       = 180 ;60   // turn rate, in degrees per sec
      ControlledWeaponSlots= PRIMARY SECONDARY
    End
    AutoAcquireEnemiesWhenIdle = Yes
  End

  Behavior = HordeUpdate ModuleTag_87
    RubOffRadius = 150    ; if I am this close to a real hordesman, I will get to be an honorary hordesman
    UpdateRate = 1000     ; how often to recheck horde status (msec)
    Radius = 75           ; how close other units must be to us to count towards our horde-ness (~30 feet or so)
    KindOf = VEHICLE      ; what KindOf's must match to count towards horde-ness
    AlliesOnly = Yes      ; do we only count allies towards horde status?
    ExactMatch = No       ; do we only count units of our exact same type towards horde status? (overrides kindof)
    Count = 5             ; how many units must be within Radius to grant us horde-ness
    Action = HORDE        ; when horde-ing, grant us the HORDE bonus
  End
    Locomotor = SET_NORMAL AbramsLocomotor

  Behavior = PhysicsBehavior ModuleTag_46
    Mass                 = 50.0
  End

  Behavior = ProductionUpdate ModuleTag_0845
    MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
  End

  ; Turret fly off death
  Behavior = SlowDeathBehavior ModuleTag_56
    DeathTypes = ALL -CRUSHED -SPLATTED
    ProbabilityModifier  = 50
    DestructionDelay  = 500
    DestructionDelayVariance  = 100
    FX  = INITIAL  FX_GenericTankDeathEffect
    OCL = MIDPOINT OCL_GenericTankDeathEffect
    FX  = FINAL    FX_GenericTankDeathExplosion
    OCL = FINAL    OCL_CrusaderTurret
  End

  ; Catch fire, and explode death
  Behavior = SlowDeathBehavior ModuleTag_29
    DeathTypes = ALL -CRUSHED -SPLATTED
    ProbabilityModifier  = 50
    DestructionDelay  = 2000
    DestructionDelayVariance  = 300
    FX  = INITIAL  FX_CrusaderCatchFire
    OCL = FINAL    OCL_GenericTankDeathEffect
    FX  = FINAL    FX_GenericTankDeathExplosion
  End

  Behavior                 = TransitionDamageFX ModuleTag_99
    ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
    ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
  End

  Behavior = DestroyDie ModuleTag_38
    DeathTypes = NONE +CRUSHED +SPLATTED
  End

  ; A crushing defeat
  Behavior = FXListDie ModuleTag_37
    DeathTypes = NONE +CRUSHED +SPLATTED
    DeathFX = FX_CarCrush
  End

  Behavior = CreateObjectDie ModuleTag_31
    DeathTypes = NONE +CRUSHED +SPLATTED
    CreationList = OCL_CrusaderTank_CrushEffect
  End

  Behavior                    = CreateCrateDie ModuleTag_CratesChange
   CrateData             = SalvageCrateData
   ;CrateData             = EliteTankCrateData
   ;CrateData             = HeroicTankCrateData
  End

  Behavior = EjectPilotDie ModuleTag_26
    GroundCreationList = OCL_EjectPilotOnGround
    AirCreationList = OCL_EjectPilotViaParachute
    ExemptStatus = HIJACKED
    VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
  End

  Behavior = FlammableUpdate ModuleTag_29
    AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
    AflameDamageAmount = 3       ; taking this much damage...
    AflameDamageDelay = 500       ; this often.
  End

  Behavior = VeterancyGainCreate ModuleTag_23
    StartingLevel = VETERAN
  End

  Geometry               = BOX
  GeometryMajorRadius    = 15.0
  GeometryMinorRadius    = 10.0
  GeometryHeight         = 10.0
  GeometryIsSmall        = Yes
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length

End
